package com.xiaoshuidi.cloud.module.report.service.datamanage;

import com.xiaoshuidi.cloud.module.report.controller.datamanage.vo.EmptyRoomDamagesStatisticsRespVO;
import com.xiaoshuidi.cloud.module.report.controller.datamanage.vo.EmptyRoomRateStatisticsRespVO;
import com.xiaoshuidi.cloud.module.report.controller.datamanage.vo.RmptyRoomStatisticsRespVO;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.List;

public interface RoomStatisticsService {
    void insertData();

    /**
     * 查询空置房数量信息
     * @param apartmentIds 门店id
     * @param includeModelMaintenanceRooms 是否包含样板维修房
     * @return
     */
    RmptyRoomStatisticsRespVO emptyRoomStatistics(List<Long> apartmentIds, Boolean includeModelMaintenanceRooms);

    /**
     * 空置率统计
     *
     * @param apartmentIds 门店id
     * @param startDate
     * @param endDate
     * @return
     */
    EmptyRoomRateStatisticsRespVO emptyRoomRateStatistics(List<Long> apartmentIds, @NotNull LocalDate startDate, @NotNull LocalDate endDate);

    /**
     * 空置损失统计
     *
     * @param apartmentIds
     * @param condition
     * @param startDate
     * @param endDate
     * @return
     */
    EmptyRoomDamagesStatisticsRespVO emptyRoomDamagesStatistics(List<Long> apartmentIds, String condition, LocalDate startDate, LocalDate endDate);
}
